<?php
	assignQueryVars();
	$errors = array(); // Para poner los errores del formulario
	$saved = false;
	connectSVDb();
	
	if(is_numeric($_GET['usr']) && is_numeric($_GET['ver'])) {
		$db->execute("DELETE FROM usuarioversion WHERE uvn_usr_id = " . $_GET['usr'] 
			." AND uvn_ver_id = ". $_GET['ver']);
	}
	
	if($_POST) {
		// Se recibio un post, guardar
		if( !is_numeric($_POST['usuario']) ) {
			$errors[] = "Verifique el campo usuario";
		}
		if( !is_numeric($_POST['version']) ) {
			$errors[] = "Verifique el campo version";
		}
		if(empty($errors)) {
			$campos = array();
			$campos['uvn_usr_id'] = $_POST['usuario'];
			$campos['uvn_ver_id'] = $_POST['version'];
			$db->execute(SQLUtil::makeInsert("usuarioversion", $campos));
			$saved = true;
		}
		$smarty->assign('errors', $errors);
	}
	$smarty->assign('saved', $saved);
	if(!$saved) {
		$smarty->assign("usuarios", $db->query(
			"SELECT usr_id, usr_nombre
			FROM usuario ORDER BY usr_nombre")->getRowsAssoc('usr_id', 'usr_nombre'));
		$smarty->assign("versiones", $db->query(
			"SELECT ver_id, CONCAT(CONCAT(prd_nombre, ' '), ver_nombre) AS nombre
			FROM producto JOIN versionproducto ON prd_id = ver_prd_id ORDER BY nombre")
				->getRowsAssoc('ver_id', 'nombre'));
		$smarty->assign("asociaciones", $db->query(
			"SELECT *, CONCAT(CONCAT(prd_nombre, ' '), ver_nombre) AS nombre_prd
			FROM
				((producto JOIN versionproducto ON prd_id = ver_prd_id)
				JOIN usuarioversion ON uvn_ver_id = ver_id)
				JOIN usuario ON uvn_usr_id = usr_id
				ORDER BY usr_nombre")
				->getRows());
	}
	if(!$error_displayed)
		$smarty->display("asociar_producto.tpl");
?>